1. Field of the Invention
The present invention relates to a computer system having a database and, more particularly, to a method and system for displaying related information from a database to a computer system user.
2. Description of the Related Art
Application programs conventionally operate to present data to users in windows on a computer screen. Word-processing applications typically have a single window in which a user creates, views and modifies a document. Some word-processing applications allow two windows (i.e., two pages of a document) to be simultaneously displayed side-by-side. Spreadsheet applications and database applications also tend to interact with a user through a single window. Operating systems, such as Microsoft Windows® (hereafter Windows) and UNIX, have for many years enabled a user to open many different windows on a single computer screen. With Windows, only one of the windows can be active at a time but multiple windows can be viewed so long as no one window utilizes the entire computer screen. With UNIX, multiple windows can also be viewed but multiple windows can be active concurrently. In any event, each window in these examples is largely independent of any other window simultaneously available.
In data management applications, including database development and retrieval applications as well as bookkeeping and accounting programs, data is entered, viewed and modified in accordance with the purposes of the application and the desires of the user. The data is stored by the application in records which form a database. To view the data stored in the database, a query is manually created and then presented to the database to request the particular portion of the data the user is interested in viewing. In response to the query, the appropriate data records are returned from the database. The returned data records are then displayed in a window to the user. However, the manual generation of queries is not only burdensome but also typically restricted to particular tables of the database. Hence, a separate query must be later made to other particular tables of the database to return data records for these other particular tables. The returned data records are normally displayed in or over the window displaying the results of the previous query. Therefore, the need to use separate queries is very detrimental to one's ability to retrieve and view related information across different tables in the database.
For example, one popular small business management program known as Quickbooks from Intuit, Inc. is able to view or provide reports in certain categories of information. FIG. 13 is a pictorial diagram of an exemplary screen 10 of Quickbooks for a “Filter” configure operation in which certain transactions for a business can be retrieved and placed in a report. The certain transactions are identified by settings for various of the fields shown in the screen 10. For example, as illustrated in the screen 10, the transactions selected are those transactions dated from Dec. 1, 1995 to Dec. 15, 1995. Once the filter is configured, a query to a database is made to retrieved desired data for the certain transactions. FIG. 14 illustrates a representative report screen 12 produced by Quickbooks. The reports screen 12 in this example is a report of Sales by Customer Detail for Rock Castle Construction dated Dec. 1-15, 1995. The report screen 12 is organized by invoice data and produced by selecting a filter button 14 to perform the “Filter” configuration, and then by selecting a reports menu 16 to run a report. Hence, Quickbooks is able to produce reports using only those records of its database that meet the criteria set in the filter configuration. Similarly, a “Find” or “List” type operation can be conventionally invoked to retrieve data from the database that meet certain criteria. Although conventional operations will return to the user the records (e.g., invoices) that meet these limitations, there is no way of obtaining or simultaneously displaying the other information (e.g., product and customer information) from the database (namely in other tables) that is related to the invoices identified without having to specifically request the information using these conventional operations. According to these conventional techniques, the user is not able to readily retrieve the desired related information on products or customers for the identified invoices because such information is not in the invoice category. To retrieve such product or invoice information, the user would have to initiate another conventional operation (e.g., “Find,” “List” or “Filter” operation) and utilize only those fields made available to the user. Further, only one window is available on the computer screen to display the retrieved information. Hence, invoking another instance of these conventional techniques, eliminates the displayed results of the previous instance. These deficiencies makes it very difficult or impossible to retrieve and display the desired related information.
Thus, there is a need for techniques to provide more effective ways to retrieve and view interrelated information from a database.